<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/templates/masterLayout.xhtml">

	<ui:define name="title">
			LISTADO DE FACTURA
		</ui:define>
	<ui:define name="content">

		<p:growl id="mensaje" showDetail="true" life="7000" />

		<p:panel id="panel" header="LISTADO DE FACTURA"
			style="margin-bottom:10px;">

			<h:form id="busquedaTabla">
				<h:panelGrid columns="3">
					<p:outputLabel value="ESTADO FACTURA:" />
					<p:selectOneMenu
						value="#{listadoFacturaBean.criterioBusquedaEstado}" filter="true"
						filterMatchMode="contains">
						<f:selectItem itemValue="0" itemLabel="ESCOJA UN ESTADO" />
						<f:selectItem itemValue="1" itemLabel="CONVERTIDAS" />
						<f:selectItem itemValue="2" itemLabel="NO CONVERTIDAS" />
						<f:selectItem itemValue="3" itemLabel="PAGADAS" />
						<f:selectItem itemValue="4" itemLabel="NO PAGADAS" />
						<f:selectItem itemValue="5" itemLabel="CANCELADAS" />
					</p:selectOneMenu>
					<h:outputText />

					<h:outputText value="CÉDULA / APELLIDOS / NOMBRES " />
					<p:inputText value="#{listadoFacturaBean.criterioBusquedaCliente}"
						onblur="this.value=this.value.toUpperCase();" />
					<h:outputText />

					<h:outputText value="CÓDIGO " />
					<p:inputText value="#{listadoFacturaBean.criterioBusquedaCodigo}"
						onblur="this.value=this.value.toUpperCase();" />
					<h:outputText />

					<h:outputText value="EAN / CODIGO1 / CODIGO2 / NOMBRE " />
					<p:inputText value="#{listadoFacturaBean.criterioBusquedaDetalle}"
						onblur="this.value=this.value.toUpperCase();" />

					<p:commandButton update="busquedaTabla, :formDataTable, :mensaje"
						icon="#{msg['iconoBuscar']}"
						actionListener="#{listadoFacturaBean.obtener}" />
				</h:panelGrid>
			</h:form>

			<h:form id="formDataTable">
				<p:dataTable id="tablaListadoEgresos" var="egreso"
					value="#{listadoFacturaBean.listaEgresos}" paginator="true"
					rows="10" rowsPerPageTemplate="5,10,15"
					paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
					paginatorPosition="bottom"
					emptyMessage="#{msg['lbl.mensajeTabla']}"
					rowStyleClass="#{egreso.activo eq false ? 'desactivo':(egreso.pagado eq true ? 'activo' : null)}">

					<p:column headerText="GESTIONAR"
						style="text-align:center;width: 90px;">

						<p:tooltip value="MOSTRAR" for="btnMostrar" />
						<p:commandButton id="btnMostrar" update=":formMostrar"
							oncomplete="PF('egresoDialogoMostrar').show()"
							icon="ui-icon-newwin"
							action="#{listadoFacturaBean.generarListaDetalle}">
							<f:setPropertyActionListener value="#{egreso}"
								target="#{listadoFacturaBean.egreso}" />
						</p:commandButton>

						<p:tooltip value="EDITAR" for="btnEditar" />
						<p:commandButton id="btnEditar"
							oncomplete="PF('egresoConvertir').show()" icon="ui-icon-pencil"
							disabled="#{egreso.activo eq false || egreso.pagado eq true || egreso.facturainterna eq true || egreso.credito ne null ? true:false}">
							<f:setPropertyActionListener value="#{egreso}"
								target="#{listadoFacturaBean.egreso}" />
						</p:commandButton>

						<p:tooltip value="CONVERTIR FACTURA INTERNA"
							for="btnFacturaInterna" />
						<p:commandButton id="btnFacturaInterna" icon="ui-icon-extlink"
							update=":formDataTable, :mensaje"
							disabled="#{egreso.activo eq false || egreso.facturainterna eq true ? true:false}"
							action="#{listadoFacturaBean.convertirFacturaInterna}">
							<f:setPropertyActionListener value="#{egreso}"
								target="#{listadoFacturaBean.egreso}" />
						</p:commandButton>

						<p:tooltip value="IMPRIMIR" for="btnImprimir" />
						<p:commandButton id="btnImprimir"
							oncomplete="PF('imprimir').show()" icon="ui-icon-print"
							disabled="#{egreso.activo eq true ? false:true}">
							<f:setPropertyActionListener value="#{egreso}"
								target="#{listadoFacturaBean.egreso}" />
						</p:commandButton>

						<p:tooltip value="GENERAR DEVOLUCION" for="btnDevolucion" />
						<p:commandButton id="btnDevolucion" icon="ui-icon-refresh"
							oncomplete="PF('egresoDevolucion').show()"
							disabled="#{egreso.activo eq false || egreso.devolucion eq true ? true:false}">
							<f:setPropertyActionListener value="#{egreso}"
								target="#{listadoFacturaBean.egreso}" />
						</p:commandButton>

						<p:tooltip value="ANULAR" for="btnAnular" />
						<p:commandButton id="btnAnular"
							oncomplete="PF('anularEgreso').show()" icon="ui-icon-close"
							update=":fromAnular"
							disabled="#{egreso.activo eq false || egreso.facturainterna eq true ? true:false}">
							<f:setPropertyActionListener value="#{egreso}"
								target="#{listadoFacturaBean.egreso}" />
						</p:commandButton>
					</p:column>

					<p:column headerText="CÉDULA"
						style="text-align:center;width: 50px;">  
            			#{egreso.cliente.persona.cedula}
        			</p:column>

					<p:column headerText="CLIENTE"
						style="text-align:center;width: 50px;">  
            			#{egreso.cliente.persona.apellido} #{egreso.cliente.persona.nombre}
        			</p:column>

					<p:column headerText="CÓDIGO" filterBy="#{egreso.codigodocumento}"
						filterMatchMode="contains" style="text-align:center;width: 50px;">  
            			#{egreso.codigodocumento}  
        			</p:column>

					<p:column headerText="FECHA" style="text-align:center;width: 50px;">
						<p:outputLabel value="#{egreso.fechainicio}">
							<f:convertDateTime pattern="dd/MM/yyyy"
								timeZone="America/Guayaquil" />
						</p:outputLabel>
					</p:column>

				</p:dataTable>
			</h:form>
		</p:panel>

		<p:dialog header="DEVOLUCION" widgetVar="egresoDevolucion"
			resizable="false" modal="false" showEffect="clip" hideEffect="fold"
			id="dialogoGenerarDevolucion">

			<h:form id="formAnular">
				<h:panelGrid columns="1" cellpadding="1">
					<h:panelGrid columns="2" cellpadding="1">
						<h:outputLabel value="USUARIO: " />
						<p:inputText value="#{listadoFacturaBean.login}" required="true"
							requiredMessage="INGRESE EL USUARIO" />

						<h:outputLabel value="CLAVE: " />
						<p:password value="#{listadoFacturaBean.pass}" required="true"
							requiredMessage="INGRESE LA CLAVE" />
					</h:panelGrid>
					<h:panelGrid columns="2" cellpadding="1">
						<p:commandButton value="SI"
							actionListener="#{listadoFacturaBean.convertirDevolucion}"
							update="formAnular, :formDataTable, :mensaje"
							oncomplete="PF('egresoDevolucion').hide()" icon="ui-icon-check" />

						<p:commandButton value="NO"
							oncomplete="PF('egresoDevolucion').hide()" icon="ui-icon-close" />
					</h:panelGrid>
				</h:panelGrid>
			</h:form>
		</p:dialog>

		<p:dialog header="EDITAR FACTURA" widgetVar="egresoConvertir"
			resizable="false" modal="false" showEffect="clip" hideEffect="fold"
			id="dialogoConvertir">

			<p:outputLabel value="¿DESEA EDITAR LA FACTURA?"></p:outputLabel>
			<h:panelGrid columns="2" cellpadding="1">
				<p:commandButton value="SI"
					action="#{listadoFacturaBean.convertirFactura}"
					icon="ui-icon-check" />

				<p:commandButton value="NO"
					oncomplete="PF('egresoConvertir').hide()" icon="ui-icon-close" />
			</h:panelGrid>
		</p:dialog>

		<p:dialog header="IMPRIMIR" widgetVar="imprimir" resizable="false"
			modal="false" showEffect="clip" hideEffect="fold"
			id="dialogoImprimir">
			<h:form target="_blank">
				<p:outputLabel value="¿DESEA IMPRIMIR LA FACTURA?"></p:outputLabel>
				<h:panelGrid columns="2" cellpadding="1">
					<p:commandButton value="SI"
						actionListener="#{listadoFacturaBean.imprimirFactura}"
						ajax="false" oncomplete="PF('imprimir').hide()"
						icon="ui-icon-check" />

					<p:commandButton value="NO" oncomplete="PF('imprimir').hide()"
						icon="ui-icon-close" />
				</h:panelGrid>
			</h:form>
		</p:dialog>

		<p:dialog header="MOSTRAR FACTURA" widgetVar="egresoDialogoMostrar"
			resizable="false" modal="false" showEffect="clip" hideEffect="fold"
			id="dialogoMostrar" width="50%">

			<h:form id="formMostrar">

				<h:panelGrid id="panelMostrar" columns="2">
					<h:panelGrid columns="2">
						<h:outputText value="NÚMERO INTERNO" style="font-weight:bold" />
						<h:outputText value="#{listadoFacturaBean.egreso.egresoid}  " />
						<h:outputText value="CÓDIGO" style="font-weight:bold" />
						<h:outputText value="#{listadoFacturaBean.egreso.codigodocumento}" />
						<h:outputText value="FECHA" style="font-weight:bold" />
						<h:outputText value="#{listadoFacturaBean.egreso.fechainicio}">
							<f:convertDateTime pattern="dd/MM/yyyy"
								timeZone="America/Guayaquil" />
						</h:outputText>
					</h:panelGrid>

					<h:panelGrid columns="2">
						<h:outputText value="CLIENTE" style="font-weight:bold" />
						<h:outputText
							value="#{listadoFacturaBean.egreso.cliente.persona.cedula} - #{listadoFacturaBean.egreso.cliente.persona.apellido} #{listadoFacturaBean.egreso.cliente.persona.nombre}" />

						<h:outputText value="FACTURA A NOMBRE DE" style="font-weight:bold" />
						<h:outputText
							value="#{listadoFacturaBean.egreso.clienteFactura.persona.cedula} - #{listadoFacturaBean.egreso.clienteFactura.persona.apellido} #{listadoFacturaBean.egreso.clienteFactura.persona.nombre}" />
						<h:outputText value="A" style="visibility:hidden" />
						<h:outputText value="A" style="visibility:hidden" />
					</h:panelGrid>
				</h:panelGrid>

				<p:dataTable id="tablaDetalleEgresos" var="detalleEgreso"
					value="#{listadoFacturaBean.listaEgresosDetalle}" paginator="true"
					rows="5" emptyMessage="No hay informacion
					disponible."
					paginatorPosition="bottom">

					<p:column headerText="IVA" style="text-align:center;width: 50px;">  
            				#{detalleEgreso.iva}
        				</p:column>

					<p:column headerText="CÓDIGO" style="text-align:center;"
						width="20%">
							 	#{detalleEgreso.codigo}
						</p:column>

					<p:column headerText="DESCRIPCION"
						filterBy="#{detalleEgreso.descripcion}" width="50%"
						style="text-align:center;padding-left: 0px;">
						<p:inputText id="txtDescripcion" style="width:100%;"
							readonly="true" value="#{detalleEgreso.descripcion}" />
						<p:tooltip for="txtDescripcion"
							value="#{detalleEgreso.descripcion}" />
					</p:column>

					<p:column headerText="CANTIDAD"
						style="text-align:center;width: 50px;">  
            				#{detalleEgreso.cantidad}  
        				</p:column>

					<p:column headerText="P. UNIT."
						style="text-align:center;width: 50px;">  
            				#{detalleEgreso.precioUnitVenta}
        				</p:column>

					<p:column headerText="DESC $">  
            				#{detalleEgreso.descuentoDolares}  
        				</p:column>

					<p:column headerText="DESC %">  
            				#{detalleEgreso.descuentoPorcentaje}  
        				</p:column>

					<p:column headerText="IMPORTE"
						style="text-align:center;width: 50px;">  
            				#{detalleEgreso.importe}  
        				</p:column>

				</p:dataTable>

			</h:form>
		</p:dialog>

		<p:dialog header="ANULAR" widgetVar="anularEgreso" resizable="false"
			modal="false" showEffect="clip" hideEffect="fold" id="dialogoAnular">
			<h:form id="fromAnular">
				<h:panelGrid columns="1" cellpadding="1">
					<h:panelGrid columns="2" cellpadding="1">
						<h:outputLabel value="USUARIO: " />
						<p:inputText value="#{listadoFacturaBean.login}" required="true"
							requiredMessage="INGRESE EL USUARIO" />

						<h:outputLabel value="CLAVE: " />
						<p:password value="#{listadoFacturaBean.pass}" required="true"
							requiredMessage="INGRESE LA CLAVE" />
					</h:panelGrid>
					<h:panelGrid columns="2" cellpadding="1">
						<p:commandButton value="SI"
							actionListener="#{listadoFacturaBean.eliminar}"
							update="fromAnular, :formDataTable, :mensaje"
							oncomplete="PF('anularEgreso').hide()" icon="ui-icon-check" />

						<p:commandButton value="NO" oncomplete="PF('anularEgreso').hide()"
							icon="ui-icon-close" />
					</h:panelGrid>
				</h:panelGrid>
			</h:form>
		</p:dialog>


	</ui:define>

</ui:composition>
</html>